package com.dk.logc.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.Column;
import java.io.Serializable;
import java.util.Date;

/**
 * 统计角色数据
 * @TableName count_role
 */
@TableName(value ="count_role")
@Data
@NoArgsConstructor
public class CountRole  implements Serializable {
    public CountRole(Date ymd, String channelId, Integer serverNo, Integer onlineNum, Integer activateNum, Integer registerNum, Integer createRoleNum, Integer oldCreateRoleNum, Integer newCreateRoleNum, Integer newLoginNum, Integer oldLoginNum, Integer newPayNum, Integer oldPayNum, Long newPayAmount, Long oldPayAmount, Integer loginDay1, Integer loginDay3, Integer loginDay5, Integer loginDay7, Integer loginDay15, Integer loginDay30, Integer loginDay60, Integer loginDay90, Integer loginDay180) {
        this.ymd = ymd;
        this.channelId = channelId;
        this.serverNo = serverNo;
        this.onlineNum = onlineNum;
        this.activateNum = activateNum;
        this.registerNum = registerNum;
        this.createRoleNum = createRoleNum;
        this.oldCreateRoleNum = oldCreateRoleNum;
        this.newCreateRoleNum = newCreateRoleNum;
        this.newLoginNum = newLoginNum;
        this.oldLoginNum = oldLoginNum;
        this.newPayNum = newPayNum;
        this.oldPayNum = oldPayNum;
        this.newPayAmount = newPayAmount;
        this.oldPayAmount = oldPayAmount;
        this.loginDay1 = loginDay1;
        this.loginDay3 = loginDay3;
        this.loginDay5 = loginDay5;
        this.loginDay7 = loginDay7;
        this.loginDay15 = loginDay15;
        this.loginDay30 = loginDay30;
        this.loginDay60 = loginDay60;
        this.loginDay90 = loginDay90;
        this.loginDay180 = loginDay180;
    }

    /**
     * ID
     */

    public CountRole(String channelId,Integer serverNo){
        this.channelId = channelId;
        this.serverNo = serverNo;
    }
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 年月日(20210628)
     */
    private Date ymd;

    /**
     * 渠道标识
     */
    private String channelId;

    /**
     * 服务器编号
     */
    private Integer serverNo;

    /**
     *
     */
    private Integer onlineNum;

    /**
     * 激活数
     */
    private Integer activateNum;

    /**
     * 注册数
     */
    private Integer registerNum;

    /**
     * 创角数
     */
    private Integer createRoleNum;

    /**
     * 老用户创角数
     */
    private Integer oldCreateRoleNum;

    /**
     * 新用户创角数
     */
    private Integer newCreateRoleNum;

    /**
     * 新玩家登录数
     */
    private Integer newLoginNum;

    /**
     * 老玩家登录数
     */
    private Integer oldLoginNum;

    /**
     * 新增付费人数
     */
    private Integer newPayNum;

    /**
     * 老玩家充值人数
     */
    private Integer oldPayNum;

    /**
     * 新玩家充值总额
     */
    private Long newPayAmount;

    /**
     * 老玩家充值总额
     */
    private Long oldPayAmount;

    /**
     * 注册后第1天登录
     */
    @Column(name = "login_day1")
    private Integer loginDay1;

    /**
     * 注册后第3天登录
     */
    @Column(name = "login_day3")
    private Integer loginDay3;

    /**
     * 注册后第5天登录
     */
    @Column(name = "login_day5")
    private Integer loginDay5;

    /**
     * 注册后第7天登录
     */
    @Column(name = "login_day7")
    private Integer loginDay7;

    /**
     * 注册后第15天登录
     */
    @Column(name = "login_day15")
    private Integer loginDay15;

    /**
     * 注册后第30天登录
     */
    @Column(name = "login_day30")
    private Integer loginDay30;

    /**
     * 注册后第60天登录
     */
    @Column(name = "login_day60")
    private Integer loginDay60;

    /**
     * 注册后第90天登录
     */
    @Column(name = "login_day90")
    private Integer loginDay90;

    /**
     * 注册后第180天登录
     */
    @Column(name = "login_day180")
    private Integer loginDay180;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}
